Perl 支援的資料型態可大略分為下列幾類:純量是 Perl 最簡單的資料型態,所有的純量變數都是以「$」為開始,再加上一些英文字母,例如 $a、$x、或 $test。純量變數事實上只有兩類,即數值和字串,本節將說明和數值變數的設定和用法,以及相關的函數。有關字串變數的說明,請見下節。
- 純量(Scalars):含字串(Strings)和數值(Numbers)
- 陣列(Arrays):又稱為串列(Lists)
- Hash:又稱為關聯陣列(Associative Arrays)
- Reference:又稱為指標(Pointers)
- 多維陣列或多維 hash
以 Perl 的內部儲存方式而言,所有的數值均儲存成 double 的格式。下列是幾個和數值相關的合格敘述:
$x = 2.5; # 標準的數值設定 $x = 4.5e-12; # 也可以接受科學記號表示法 $x = 0377; # 以「0」開頭是 8 進位表示法,因此 0377 代表十進位的 255 $y = 0xfe; # 以「0x」開頭是 16 進位表示法,因此 0xfe 代表十進位的 254 $z = $x - $y; # $z = 1 $z = $x*$y; # $z = 64770 $z /= 255; # $z = $z/255 = 254 $z--; # $z = 253; 其結果和 --$z 相同 $u = $z++; # $u = 253, $z = 254 $p = $z**2; # $p = $z*$z 在 Perl 的數值運算過程中,運算式本身也有一個值,此值的大小會等於被設定的變數值,因此我們可以寫出下列的設定敘述:$a = ($b = 4); # $b = 4, $a = 4 $a = $b = 4 # 此運算式結果如同上式 $z = 3 + ($y = $a+5); # $y = 9, $z = 12; 含數值相關的運算及函數,可以列舉如下:
運算 函數 運算符號 說明 函數名稱 說明 + 加 abs 絕對值 - 減 atan2 反正切函數 * 乘 cos 餘弦函數 / 除 exp 指數函數 ** 指數運算 hex 轉成16進位 ++ 加一運算 int 取整數運算 -- 減一運算 log 對數函數 oct 轉成8進位 rand 產生亂數 sin 正弦函數 sqrt 開平方 srand 設定亂數種子(Random Seed)
Perl